home *** CD-ROM | disk | FTP | other *** search
- function NOF_DataObjects_TablesUtil(){
- this.__proto__ = NOF_DataObjects_TablesUtil.prototype;
- }
-
- function NOF_DataObjects_TablesUtil_ProtoBuilder(){
- var method = NOF_DataObjects_TablesUtil.prototype;
-
- method.getSelection = function getSelection(name, table){
- var fApp = NOF.App.getFSIApp();
- var selections = fApp.GetAllSelectionsByName( name );
- var count = selections.Count();
- NOF.Contract.Assert (count <=1, "Corrupted selection space! Multiple entries found for: " + name);
-
- if (count == 0){
- selection = fApp.NewSelection( name, NOF_TableTypes.NODELESS | NOF_TableTypes.ECOMM_CATALOG );
- selection.SetTable( table );
- }else{
- selection = selections.GetNext();
- }
-
- return selection;
- }
-
- //TODO: remember to take care of last element not having the AND/OR field set when adding new filters per Catalin
- method.SetFilter = function SetFilter( selection, fChain ){
- selection.RemoveFilter();
- var filterIter = selection.GetFilter();
-
- var filters = fChain.getFilters();
- for (var i=0; i<filters.length; i++){
- if ( filters[i].active ){
- var fType = null;
- if ( filters[i].fieldtype == NOF_FILTER_CONSTANTS.FT_INTEGER ||
- filters[i].fieldtype == NOF_FILTER_CONSTANTS.FT_BOOLEAN )
- fType = 1;
- else if ( filters[i].fieldtype == NOF_FILTER_CONSTANTS.FT_STRING ||
- filters[i].fieldtype == NOF_FILTER_CONSTANTS.FT_FLOAT )
- fType = 0;
-
- NOF.Contract.Assert(fType != null, "Invalid fieldtype: " + filters[i].fieldtype);
-
- var filter = new ActiveXObject(NOF.ProgId.FSIFilter);
-
- //debugger;
- if ( filters[i].fieldtype == NOF_FILTER_CONSTANTS.FT_BOOLEAN ){
- if (filters[i].operator == NOF_FILTER_CONSTANTS.IS_TRUE)
- filter.Value = 1;
- else
- filter.Value = 0;
-
- filter.Operator = NOF_FILTER_CONSTANTS.IS_EQUAL;
- }else{
- filter.Operator = filters[i].operator;
- filter.Value = filters[i].value;
- }
-
- filter.FieldName = filters[i].fieldname;
- filter.FieldType = fType;
- filter.AndOr = filters[i].chainrule;
- filterIter.AddFilter( filter);
- }
- }
-
- selection.SetFilter( filterIter );
- }
-
- method.SetSort = function SetSort( selection, sort ){
- selection.SetSort();
- }
- }
-
- NOF_DataObjects_TablesUtil_ProtoBuilder();
- NOF_DataObjects.prototype.TablesUtil = new NOF_DataObjects_TablesUtil();